package org.bw.bookstore.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.persistence.Entity;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;

/**
 *@program: wisdom_bookstore
 *@description: 用户实体类
 *@Author: 孙冬雪
 *@Date: 2020-10-22 09:50
 */
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Entity
@TableName("tb_user_info")
public class TbUserInfo extends BaseEntity implements Serializable {

    /**
     * 用户真实姓名
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:21
     **/
    private String realName;

    /**
     * 账号名
     *
     * @Author 孙冬雪
     * @Date 2020/10/23 9:11
     **/
    private String userName;

    /**
     * 密码
     *
     * @Author 孙冬雪
     * @Date 2020/10/23 9:11
     **/
    private String userPass;

    /**
     * 用户密码盐
     *
     * @Author 孙冬雪
     * @Date 2020/10/23 9:11
     **/
    private String userSale;

    /**
     * 用户性别
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:22
     **/
    private Integer sex;

    /**
     * 用户年龄
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:40
     **/
    private Integer age;

    /**
     * 用户身份证号
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:40
     **/
    private String idCard;

    /**
     * 用户身手机号
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:40
     **/
    private String mobile;

    /**
     * 用户身邮箱号
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:40
     **/
    private String email;

    /**
     * 面部照片url
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:43
     **/
    private String humanFaceUrl;

    /**
     * 会员码
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 13:45
     **/
    private String memberCode;

    /**
     * 一个用户有多个进门记录
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 15:21
     **/
    @TableField(exist = false)
    @Transient
    private List<TbEnterRecord> tbEnterRecordList;

    /**
     * 一个用户有多个出门记录
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 15:21
     **/
    @TableField(exist = false)
    @Transient
    private List<TbOutRecord> tbOutRecords;

    /**
     * 一个用户可以有多个订单记录
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 15:41
     **/
    @TableField(exist = false)
    @Transient
    private List<TbOrderRecord> tbOrderRecordList;

    /**
     * 一个用户有多个支付记录
     *
     * @Author 孙冬雪
     * @Date 2020/10/21 15:49
     **/
    @TableField(exist = false)
    @Transient
    private List<TbPayRecord> tbPayRecordList;
}
